package 每日一题OJ;

/**
 * @author shy_black
 * @date 2019/8/24 17:38
 * @Description:
 */
public class _88__合并两个有序数组 {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        if(nums1.length == 0)
            return;
        if(nums2.length == 0)
            return;

        int[] res = new int[m];
        for(int t = 0;t < m;t++) {
            res[t] = nums1[t];
        }
        int i = 0;//nums1的指针
        int j = 0;//nums2的指针
        int k = 0;//res的指针
        while((i < m) && (j < n)) {
            if(res[i] < nums2[j]) {
                nums1[k++] = res[i++];
            }else {
                nums1[k++] = nums2[j++];
            }
        }
        if(j == n){//说明sum1还有数据
            while(i < m){
                nums1[k++] = res[i++];
            }
        }
        if(i == m) {
            while(j < n){
                nums1[k++] = nums2[j++];
            }
        }
    }
}